#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e6+10;
long long a[maxn];
long long b[maxn];
long long c[maxn];
int main()
{
	long long  n,t;
	scanf("%lld %lld",&n,&t);
	long long cnt1 = 0;
	long long cnt2 = 0;
	for(int i = 1;i<=n;i++)
	{
		scanf("%lld",&a[i]);
		if(a[i]<0) b[cnt1++] = -a[i];
		else c[cnt2++] = a[i];
	}
	sort(b,b+cnt1);
	sort(c,c+cnt2);
	long long ans = 0;
	for(int i = 0;i<cnt1;i++)
	{
		if(b[i]>t) break;
		long long k = t-b[i]-b[i];
		long long m = 0;
		if(k>0) 
		{
			m = upper_bound(c,c+cnt2,k)-c;
		}
		ans = max(ans,i+m+1);
	}
	for(int i = 0;i<cnt2;i++)
	{
		if(c[i]>t) break;
		long long k = t-c[i]-c[i];
		long long m = 0;
		if(k>0) 
		{
			m = upper_bound(b,b+cnt1,k)-b;
		}
		ans = max(ans,i+m+1);
	}
	printf("%lld\n",ans);
}
